<template>
  <div class="div">
    <div
      class="clearfix selector"
      v-for="a1 in Classification"
      :key="a1.id"
      @click="info"
    >
      <div class="type-wrap">
        <div class="fl key">商品分类</div>
        <div class="fl value">
          <ul class="type-list">
            <li v-for="a2 in a1.text" :key="a2.id">
              <a
                style="cursor: pointer"
                :data-name="a2.value"
                :data-Classification1ID="a2.id"
                @click="oneId(a2.id)"
                >{{ a2.value }}</a
              >
            </li>
            <li style="color: red">
              （商品分类我只做了 手机 华为手机 小米手机 苹果手机 ） <br />
              （当点击 一级分类属性 或者 a标签导航或者 搜索关键字
              时会清空二级的商品分类属性，可能不用清空吧，但我做得差不多了，才发现，如果不清空好像才是对的。。。）
            </li>
          </ul>
        </div>
        <div class="fl ext"></div>
      </div>

      <div class="type-wrap">
        <div class="fl key">价格</div>
        <div class="fl value">
          <ul class="type-list">
            <li v-for="a3 in a1.price" :key="a3.id">
              <a
                style="cursor: pointer"
                :data-name="a3.value"
                :data-Classification2ID="a3.id"
                >{{ a3.value }}</a
              >
            </li>
            <li style="color: red">
              （价格查询我全做了，如果什么都没有，是因为我没写那么多的价钱的数据）
            </li>
          </ul>
        </div>
        <div class="fl ext"></div>
      </div>
    </div>
  </div>
</template>

<script>
export default {
  name: 'SearchSelector',
  data() {
    return {
      // 点击二级分类后仍然保留一级分类的id
      // 二级不用保留 因为 一级是所有商品 二级是一级下的筛选商品
      OneID: 0
    }
  },
  computed: {
    // searchList 中的 Classification 商品分类数据
    Classification() {
      return this.$store.getters.Classification
    }
  },
  watch: {
    // 监听路由的信息是否发生变化，如果发生变化，再次发起请求
    $route(newValue, oldValue) {
      // 再一次将新的 路由参数 带给服务器
      this.clearInfo = -1 // 清空商品二级分类的属性
      this.OneID = this.$store.state.search.Info.OneID // 返回vuex中的 Info 数据   其他的info数据不用动
    }
  },
  methods: {
    //  oneID   用来保留一级id
    oneId(id) {
      this.OneID = id
    },
    // 商品分类属性
    info(event) {
      // console.log(value + ' ' + index)
      // 自定义事件 将子组件的商品分类属性传给 search组件
      // console.log(id)
      // console.log(event.target)
      // 根据自定义属性判断点击的对象
      let { name, classification1id, classification2id } = event.target.dataset
      if (name) {
        // 点击商品分类刷属性 让数据分页重新归为 第 1 页
        this.$emit('changeCurrentPage', 1)

        if (classification1id) {
          this.$emit('info', {
            OneID: parseInt(classification1id),
            // 点击一级分类清空所有等级的分类id
            TwoID: classification2id, // 不触发事件id默认为空
            val: name
          })
        }
        if (classification2id) {
          this.$emit('info', {
            // 点击二级分类保留一级分类属性
            OneID: this.OneID,
            TwoID: parseInt(classification2id),
            val: name
          })
        }
      }
    }
  }
}
</script>

<style lang="less" scoped>
.selector {
  border: 1px solid #ddd;
  margin-bottom: 5px;

  overflow: hidden;

  .logo {
    border-top: 0;
    margin: 0;
    position: relative;
    overflow: hidden;

    .key {
      padding-bottom: 87px !important;
    }
  }

  .type-wrap {
    margin: 0;
    position: relative;
    border-top: 1px solid #ddd;
    overflow: hidden;

    .key {
      width: 100px;
      background: #f1f1f1;
      line-height: 26px;
      text-align: right;
      padding: 10px 10px 0 15px;
      float: left;
    }

    .value {
      overflow: hidden;
      padding: 10px 0 0 15px;
      color: #333;
      margin-left: 120px;
      padding-right: 90px;

      .logo-list {
        li {
          float: left;
          border: 1px solid #e4e4e4;
          margin: -1px -1px 0 0;
          width: 105px;
          height: 52px;
          text-align: center;
          line-height: 52px;
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
          font-weight: 700;
          color: #e1251b;
          font-style: italic;
          font-size: 14px;

          img {
            max-width: 100%;
            vertical-align: middle;
          }
        }
      }

      .type-list {
        li {
          float: left;
          display: block;
          margin-right: 30px;
          line-height: 26px;

          a {
            text-decoration: none;
            color: #666;
          }
        }
      }
    }

    .ext {
      position: absolute;
      top: 10px;
      right: 10px;

      .sui-btn {
        display: inline-block;
        padding: 2px 14px;
        box-sizing: border-box;
        margin-bottom: 0;
        font-size: 12px;
        line-height: 18px;
        text-align: center;
        vertical-align: middle;
        cursor: pointer;
        padding: 0 10px;
        background: #fff;
        border: 1px solid #d5d5d5;
      }

      a {
        color: #666;
      }
    }
  }
}
</style>
